home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / russell / gc32.lha / rs6000_mach_dep.s < prev    next >
Text File  |  1993-06-28  |  2KB  |  106 lines

  1.     .csect
  2.     .set   r0,0
  3.     .set   r1,1
  4.     .set   r2,2
  5.     .set   r3,3
  6.     .set   r4,4
  7.     .set   r5,5
  8.     .set   r6,6
  9.     .set   r7,7
  10.     .set   r8,8
  11.     .set   r9,9
  12.     .set   r10,10
  13.     .set   r11,11
  14.     .set   r12,12
  15.     .set   r13,13
  16.     .set   r14,14
  17.     .set   r15,15
  18.     .set   r16,16
  19.     .set   r17,17
  20.     .set   r18,18
  21.     .set   r19,19
  22.     .set   r20,20
  23.     .set   r21,21
  24.     .set   r22,22
  25.     .set   r23,23
  26.     .set   r24,24
  27.     .set   r25,25
  28.     .set   r26,26
  29.     .set   r27,27
  30.     .set   r28,28
  31.     .set   r29,29
  32.     .set   r30,30
  33.     .set   r31,31
  34.  
  35.  # Mark from machine registers that are saved by C compiler
  36.     .globl  .GC_push_regs
  37. .GC_push_regs:
  38.     .extern .GC_push_one
  39.     stu        r1,-64(r1)  # reserve stack frame
  40.     mflr    r0        # save link register
  41.     st      r0,0x48(r1)
  42.     oril    r3,r2,0x0   # mark from r2
  43.     bl         .GC_push_one
  44.     cror    15,15,15
  45.     oril    r3,r13,0x0   # mark from r13-r31
  46.     bl         .GC_push_one
  47.     cror    15,15,15
  48.     oril    r3,r14,0x0
  49.     bl         .GC_push_one
  50.     cror    15,15,15
  51.     oril    r3,r15,0x0
  52.     bl         .GC_push_one
  53.     cror    15,15,15
  54.     oril    r3,r16,0x0
  55.     bl         .GC_push_one
  56.     cror    15,15,15
  57.     oril    r3,r17,0x0
  58.     bl         .GC_push_one
  59.     cror    15,15,15
  60.     oril    r3,r18,0x0
  61.     bl         .GC_push_one
  62.     cror    15,15,15
  63.     oril    r3,r19,0x0
  64.     bl         .GC_push_one
  65.     cror    15,15,15
  66.     oril    r3,r20,0x0
  67.     bl         .GC_push_one
  68.     cror    15,15,15
  69.     oril    r3,r21,0x0
  70.     bl         .GC_push_one
  71.     cror    15,15,15
  72.     oril    r3,r22,0x0
  73.     bl         .GC_push_one
  74.     cror    15,15,15
  75.     oril    r3,r23,0x0
  76.     bl         .GC_push_one
  77.     cror    15,15,15
  78.     oril    r3,r24,0x0
  79.     bl         .GC_push_one
  80.     cror    15,15,15
  81.     oril    r3,r25,0x0
  82.     bl         .GC_push_one
  83.     cror    15,15,15
  84.     oril    r3,r26,0x0
  85.     bl         .GC_push_one
  86.     cror    15,15,15
  87.     oril    r3,r27,0x0
  88.     bl         .GC_push_one
  89.     cror    15,15,15
  90.     oril    r3,r28,0x0
  91.     bl         .GC_push_one
  92.     cror    15,15,15
  93.     oril    r3,r29,0x0
  94.     bl         .GC_push_one
  95.     cror    15,15,15
  96.     oril    r3,r30,0x0
  97.     bl         .GC_push_one
  98.     cror    15,15,15
  99.     oril    r3,r31,0x0
  100.     bl         .GC_push_one
  101.     cror    15,15,15
  102.     l       r0,0x48(r1)
  103.     mtlr    r0
  104.     ai      r1,r1,64
  105.     br
  106.